1. Technical Field
The invention relates to the hierarchical viewing of the contents of an electronic environment. More particularly, the invention relates to the provision of inline tree filters for use in viewing the contents of an electronic environment.
2. Description of the Prior Art
The amount of information that computer users need to view and manipulate is growing at an exponential rate. Most traditional graphical user interfaces were designed when the amounts of information one had to view on the desktop was relatively small. The popularization of networked computing and the rise of the Internet has created a need for the design of new data-manipulation models, or the enhancement of existing models.
Although their appearance and interaction behavior in different environments varies, hierarchical trees have become the most ubiquitous data manipulation tool used in modern operating systems such as Windows 95, Windows NT, X (a popular UNIX windowing system), the MacOS, and equivalent graphical operating systems. These are often referred to as tree viewers, examples of which include the Windows Explorer (see FIG. 1), the Macintosh Finder (see FIG. 2), and variants such as the NeXTSTEP Browser widget.
These viewers help to reduce data complexity by structuring data hierarchically and allowing the user to choose which portion of the data set is visible through a set of expand/collapse controls. This approach works well if the data to be viewed is inherently hierarchical and if the tree is not too broad, i.e. each parent node has a small number of children.
Unfortunately, many of the large information spaces encountered in today""s networked information world are very broad in this tree sense. For example, consider the message store for the Netscape Messaging Server 4.0. FIG. 3 shows a completely collapsed tree, showing no subdirectories. The contents are displayed in a small, compact area, but the appearance is deceiving. In arbitrarily large data sets, e.g. where one folder may contain twelve subentries and where another folder might have hundreds or thousands of entries, a single click to expand a folder can suddenly expose screens and screens worth of information.
In the example shown on FIG. 3, clicking to expand the Message Store 30 directory exposes a listing of hundreds of subdirectories, listed alphabetically (see FIG. 4). The list shown on FIG. 4 is so long that a user must scroll dozens of times over to get to the entry for which she is looking. Even type-ahead selection is only of limited value, i.e. with hundreds or thousands of entries, typing the letters xe2x80x9csmxe2x80x9d may jump to the first entry for Smith in a list containing one-hundred Smiths.
Note that the top-level directories, Logs 32 and Alarms 34, which were visible when the tree was collapsed (FIG. 3), are now no longer visible (FIG. 4). To reach either or these directories, the user must collapse the entire tree again, thereby making it impossible to drag-and-drop contents from the expanded tree to another top-level directory, or the user must scroll, once again, past countless screens of subentries.
One common solution to this problem is to switch to a search-based graphical user interface, such as the Find Command on the Macintosh or the Find Files and Folders Command in Windows. This allows the user to choose a smaller set of objects to view, but has the disadvantage that it removes the hierarchical structural context in which the data actually resides. What would be more desirable is to allow the user to take advantage of the benefits of both worlds. That is, by combining the best attributes of searching and hierarchical.
Another known solution to the problem of hierarchically browsing through a large database is to provide a single global filter which applies to the entire tree to weed out unwanted nodes. While this solution cuts down on the amount of visible information, it limits the user to a single global filter, which may impact levels of the tree that the user did not want filtered. It also does not allow for multiple different filters on different portions of the tree.
What is needed is some mechanism for limiting the display of entries within a tree view, so that arbitrarily large directories, i.e. directories containing multiple subdirectories or entries, may be easily filtered and visually navigated.
The invention provides a common interface solution to the problem of burgeoning information sets, referred to as inline tree filters, which structures the represented data in a hierarchical tree. Inline filters are information-filtration devices that are applied to a traditional interface element, such as a hierarchical tree viewer. The invention provides a technique that enables the user to choose selectively the data that they want to display, while not otherwise altering the behavior and interaction of the tree viewer itself. Inline tree filters are suitable for any graphical user interface that could potentially use a tree viewer.